# -*- mode: python; coding: utf-8; -*-
##--------------------------------------------------------------------------##
##
## Copyright (C) 1998-2003 Markus Oberhumer <markus@oberhumer.com>
## Copyright (C) 2003 Mt. Hood Playing Card Co.
## Copyright (C) 2005-2010 Skomoroh <skomoroh@users.sourceforge.net>
## Copyright (C) 2010-2013 Jeremy Austin-Bardo <tjaustinbardo@gmail.com>
##
## This program is free software: you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation, either version 3 of the License.
##
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with this program.  If not, see <http://www.gnu.org/licenses/>.
##
##--------------------------------------------------------------------------##
__docformat__ = 'restructuredtext en'

from . import  __common__ as mgame
from ...gamelib import info as gi


class Taipei(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5401, short_name='Taipei', game_type=gi.GT.POPULAR)
    __layout__ = ('0aagabbabdabjablhccacfachhckadbaddhdehdghdiadjadlhecaefoe'
                  'gaehhekafcifehfgvfgifiafkagahgcageaggoggagihgkagmhhaahcoh'
                  'ehhfvhfhhhvhhohiahkhhmaiahidaieaigoigCigaiihijaimhjbajcoj'
                  'ehjfvjfJjghjhvjhojiajkhjlakahkdakeakgokgCkgQkgakihkjakmhl'
                  'balcolehlfvlfJlghlhvlholialkhllamahmdameamgomgCmgamihmjam'
                  'mhnaanconehnfvnfhnhvnhoniankhnmaoahocaoeaogoogaoihokaomap'
                  'cipehpgvpgipiapkhqcaqfoqgaqhhqkarbardhrehrghriarjarlhscas'
                  'fashhskatbatdatjatlaug')
    __version__ = 7.70


class Hare(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5402, short_name='Hare')
    __layout__ = ('0aacaamacabccaceackbcmacobeacecbeebekcembeoofavfcofeofkvf'
                  'mofobgacgcbgebgkcgmbgoaiabicbiebikbimaioakcakebkhakkakmam'
                  'ebmgbmiamkbogoohboicqfcqhcqjasejsfasgjshasijsjaskCtgCtibu'
                  'ddufduhdujbulovdCvgCviovlbwddwfdwhdwjbwlcyfcyhcyjbAhbCh')
    __version__ = 7.70


class Horse(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5403, short_name='Horse')
    __layout__ = ('0bafbahbajbcdbchbclaedbefbehbejaelagfaghagjaifhigaihhiiai'
                  'jakfhkgakhhkiakjbmecmgcmibmkcodcofcohcojcolcqdcqfvqgcqhvq'
                  'icqjcqlbsbcsfvsgcshvsicsjbsnotbotnbubcudcufvugcuhvuicujcu'
                  'lbunbwbcwdcwfcwhcwjcwlbwnbycayfbyhayjbymaAbaAnaCaaCo')
    __version__ = 7.70


class Rat(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5404, short_name='Rat')
    __layout__ = ('0aaabacoadbaeaagbcacccccebcgvddodgbeacecceebegagabgcbggag'
                  'mbicbieaigaimckeckgckiakmblcblkcmevmfcmgvmhcmibmmamobncCn'
                  'gbnkhnocoevofcogvohcoibomaoobpcbpkcqecqgcqiaqmbscbseasgas'
                  'mauabucbugaumbwacwccwebwgvxdoxgbyacyccyebygaAabAcoAdbAeaA'
                  'g')
    __version__ = 7.70


class Tiger(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5405, short_name='Tiger')
    __layout__ = ('0baabacbambaobcabccbcmbcobebaeghehaeibenbgbbggbgibgnaibbi'
                  'dcifcihdijbilainakdhkeakfokfhkgakhpkhhkiakjokjhkkaklbmepm'
                  'fbmgomhbmiomjbmkboeoofbogoohboipojbokbqeoqfbqgpqhbqioqjbq'
                  'kbsddsfcshcsjbslbubbudbuhbulbunbwbbwibwnbybbygbynbAbbAibA'
                  'nbCbbCgbCn')
    __version__ = 7.70


class Ram(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5406, short_name='Ram')
    __layout__ = ('0aacaaeaagaaihbehbghbibccaceoceacgaciociackadaodchdehdihd'
                  'kheabecaeepeeaeioeiaekafaofchfehfihfkhgabgcageogeaggagiog'
                  'iagkahahhehhghhibicaieaigaiibkcblgbmcbmeamionehniankanmco'
                  'cboevoebogaoiooihokhombooopehpiapkapmbqcbqeaqibrgbscbucau'
                  'eaugauiavahvehvghvihwabwcaweoweawgawiowiawkaxaoxchxehxihx'
                  'khyabycayepyeayioyiaykazaozchzehzihzkbAcaAeoAeaAgaAioAiaA'
                  'khBehBghBiaCcaCeaCgaCi')
    __version__ = 7.70


class Wedges(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5407, short_name='Wedges')
    __layout__ = ('0aagbaicakdamacaacibckccmbeaaecaekbemcgabgcageagmdiacicbi'
                  'eaigekadkcckebkgakiakohlofmaemcdmecmgbmiamkammamoomohnoeo'
                  'aeocdoecogaoiaoodqadqccqeaqgcsacscaseasmbuaaucaukbumawaaw'
                  'ibwkcwmaygbyicykdym')
    __version__ = 7.70


class Monkey(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5408, short_name='Monkey')
    __layout__ = ('0aaahabaacoachadaaeaakbcaaceackhclacmocmhcnacoodabeabeoof'
                  'oagahgbagcaghbgobicbigbiiaimhinaioojgbkcdkebkgvkgdkibkkbk'
                  'molgdmebmgvmgdmiongdoebogvogdoiaokholaomaooopghpobqcdqebq'
                  'gvqgdqiaqooqoorghroasahsbascbsgasmasoauaaughuhauiawihwjaw'
                  'kowkhwlawmbymaAchAdaAeoAehAfvAfaAgoAgCAghAhvAhaAioAiCAihA'
                  'jvAjaAkoAkhAlaAmaCahCbaCc')
    __version__ = 7.70


class Rooster(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5409, short_name='Rooster')
    __layout__ = ('0aaaaagabchcccceccgadcvdfadiceecegaeohfoageagoogohhoaiehi'
                  'faigaimaiohjmbkeokfbkgokhbkiakkakmamccmevmfcmgvmhcmiamkan'
                  'ahncCnghoaaocooccoevofcogvohcoiapaopahpchqaaqcoqcbqeoqfbq'
                  'gvqgoqhbqiaqkaqmaraorahrchrmhsaascbsgoshbsiaskasmasoataot'
                  'ahtohuaaufhugauhauoavabweowfbwgowhbwivxgayabycoydbyeoyfby'
                  'goyhbyihzaaAaaAeaAjhAkaAlhBaaCaaCehCfaCgaCl')
    __version__ = 7.70


class Dog(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5410, short_name='Dog')
    __layout__ = ('0aaeaaghbehbgaccaceoceacgocgaciackhdchdehdghdihdkaecoecae'
                  'eaegaeiaekhfcagcaichidaieoiehifaigvjebkackcckeckgbkibkkvl'
                  'coliolkbmacmccmgbmibmkamoonavnconkboacoccoecogbokaomaooop'
                  'avpcopkbqacqccqgbqibqkvrcoriorkbsacsccsecsgbsibskvteauchu'
                  'daueouehufaugawchxcaycoycayeaygayiaykhzchzehzghzihzkaAcaA'
                  'eoAeaAgoAgaAiaAkhBehBgaCeaCg')
    __version__ = 7.70


class Snake(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5411, short_name='Snake')
    __layout__ = ('0bagbaiobhbcgbcibdebecbegbfebgcbhabicbiicikcimbjavjlbkcbk'
                  'ebkgbkickkckmakooleolgolivllhlobmcbmebmgbmicmkcmmamoomovn'
                  'lhnocokcomaooooovplhpobqcbqebqgbqicqkcqmaqooreorgorivrlbs'
                  'cbsebsgbsicskcsmbtabucbvabwcbwebwgbwibwkbycbyebygbyibykbA'
                  'jaCj')
    __version__ = 7.70


class Boar(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5412, short_name='Boar')
    __layout__ = ('0aacaaehafaagoaghahaaiaakhbchbkaccoccaciackockacmhdchdkhd'
                  'maecaeeaekoekaemoemhfkhfmagiagkogkagmhhkaiiaikakcbkgbkiak'
                  'molgolibmcbmebmgbmibmkbmmonconepngpnionkonmanoaoabocvocbo'
                  'evoebogboibokvokbomvomhooopcopeppgppiopkopmapobqcbqebqgbq'
                  'ibqkbqmorgoriascbsgbsiasmauiaukhvkawiawkowkawmhxkhxmaycay'
                  'eaykoykaymoymhzchzkhzmaAcoAcaAiaAkoAkaAmhBchBkaCcaCehCfaC'
                  'goCghChaCiaCk')
    __version__ = 7.70


class Ox(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5413, short_name='Ox')
    __layout__ = ('0aahabeabkbcgochbciaeaaecbegbeiaemaeohfbhfnagaagcagebggbg'
                  'iagkagmagoaicbiebigbiibikaimakcbkeckgckibkkakmbmecmgcmibm'
                  'kaodioeaofjogaohjoiaojiokaolcqedqgdqicqkcsedsgdsicskaucbu'
                  'ecugcuibukaumawcbwecwgcwibwkawmayaaycayebygbyiaykaymayohz'
                  'bhznaAaaAcaAhaAmaAo')
    __version__ = 7.70


class Bridge2(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5414, short_name='Bridge2')
    __layout__ = ('0daadacdaedagdaidakdamdaoccccceccgccicckccmbeebegbeibekag'
                  'gagiaihhjhakhokhhlhvlhamfamhomhCmhhnhvnhJnhanjaofaohoohCo'
                  'hhphvphaqhoqhhrhashaugauibwebwgbwibwkcyccyecygcyicykcymdA'
                  'adAcdAedAgdAidAkdAmdAo')
    __version__ = 7.70

##--------------------------------------------------------------------------##

class BigX(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5501, short_name='Big X', game_type=gi.GT.HIDDEN)
    __layout__ = ('0aacaamhbchbmacboccacdaclocmacnhdbhddhdlhdnaeaaecoedaeeae'
                  'koelaemaeohfchfehfkhfmagbagdogeagfagjogkaglagnhhdhhfhhjhh'
                  'laicaieoifaigaiioijaikaimhjehjghjihjkakdakfokgakhokiakjak'
                  'lhlfhlhhljameamgomgamiomiamkhnfhnhhnjaofoofaohoohaojoojhp'
                  'fhphhpjaqeaqgoqgaqioqiaqkhrfhrhhrjasdasfosgashosiasjaslht'
                  'ehtghtihtkaucaueoufaugauioujaukaumhvdhvfhvjhvlawbawdoweaw'
                  'fawjowkawlawnhxchxehxkhxmayaaycoydayeaykoylaymayohzbhzdhz'
                  'lhznaAboAcaAdaAloAmaAnhBchBmaCcaCm')
    __version__ = 7.70


class Axis(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5502, short_name='Axis', game_type=gi.GT.HIDDEN)
    __layout__ = ('0bafcahbajbbdvbhbblcchCchbdcvdhbdmcehCehbfbvfhbfncghahaah'
                  'ohiahioajabjhajohkabkfbkjhkoalabldbllalohmacmhhmoanaancvn'
                  'hanmanoiobcohionapbwphapniqbcqhiqnaraarcvrharmarohsacshhs'
                  'oatabtdbtlatohuabufbujhuoavabvhavohwahwoaxaaxocyhbzbvzhbz'
                  'ncAhCAhbBcvBhbBmcChCChbDdvDhbDlbEfcEhbEj')
    __version__ = 7.70


class Cobweb(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5503, short_name='Cobweb', game_type=gi.GT.HIDDEN)
    __layout__ = ('0aacaafhagaahoahhaiaajaamacbhccacdaclhcmacnadfhdgadhodhhd'
                  'iadjaeaaeohfaafcafeafhafkafmhfoagaogaagoogohhaahcahhahmhh'
                  'oaiaoiaaiooiohjaajdajhajlhjoakaakoalealhalkamaamoancanfhn'
                  'ganhhnianjanmaoahoboogooihonaooopbapcbpgvpgbpivpiapmopnaq'
                  'ahqboqgoqihqnaqoarcarfhrgarhhriarjarmasaasoateathatkauaau'
                  'ohvaavdavhavlhvoawaowaawoowohxaaxcaxhaxmhxoayaoyaayooyohz'
                  'aazcazeazhazkazmhzoaAaaAoaBfhBgaBhoBhhBiaBjaCbhCcaCdaClhC'
                  'maCnaEcaEfhEgaEhoEhhEiaEjaEm')
    __version__ = 7.70


class Pyramids(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5504, short_name='Pyramids', game_type=gi.GT.HIDDEN)
    __layout__ = ('0aaaaacaakaamhbbabeabgabihblacaaccackacmhdbadeadgadihdlae'
                  'aaecaekaemaffhfgafhahbaheahiahlhibhiehiihilajbojbajdojeaj'
                  'fajhojiajjajlojlhkbvkbhkevkehkghkivkihklvklalbolbClbaldol'
                  'eClealfolgalholiClialjallollCllhmbvmbhmevmehmgvmghmivmihm'
                  'lvmlanbonbCnbandoneCneanfonganhoniCnianjanlonlCnlhobvobho'
                  'evoehoghoivoiholvolapbopbapdopeapfaphopiapjaploplhqbhqehq'
                  'ihqlarbareariarlatfhtgathauaaucaukaumhvbaveavgavihvlawaaw'
                  'cawkawmhxbaxeaxgaxihxlayaaycaykaym')
    __version__ = 7.70


class Wicker(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5505, short_name='Wicker', game_type=gi.GT.HIDDEN)
    __layout__ = ('0bafbakbbcbbhbbmbcebcjbdbbdgbdlbedbeibenbfabffbfkbgcbghbg'
                  'mbhebhjbibbigbilbjdbjibjnbkabkfbkkblcblhblmbmebmjbnbbngbn'
                  'lbodboibonbpabpfbpkbqcbqhbqmbrebrjbsbbsgbslbtdbtibtnbuabu'
                  'fbukbvcbvhbvmbwebwjbxbbxgbxlbydbyibynbzfbzkbAh')
    __version__ = 7.70


PROVIDES = [Axis, BigX, Boar, Bridge2, Cobweb, Dog, Horse, Hare, Monkey, Ox,
            Pyramids, Ram, Rat, Rooster, Snake, Taipei, Tiger, Wedges, Wicker]